package com.battcn.platform.mapper.sys;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import com.battcn.framework.mybatis.mapper.BaseMapper;
import com.battcn.platform.pojo.dto.sys.ManagerDto;
import com.battcn.platform.pojo.po.sys.Manager;
import org.apache.ibatis.annotations.Update;

/**
 * @author Levin
 */
@Mapper
public interface ManagerMapper extends BaseMapper<Manager> {

    /**
     * 根据条件查询角色信息
     *
     * @param name    名称
     * @param account 账号
     * @return
     */
    List<ManagerDto> listManagerByName(@Param("name") String name, @Param("account") String account);

    /**
     * 根据条件查询角色信息
     *
     * @return
     */
    List<ManagerDto> listManager(Manager manager);

    /**
     * 根据账号查询角色信息
     *
     * @param account 账号
     * @return 角色信息
     */
    @Select("SELECT t1.*,t2.name roleName,t2.code roleCode FROM t_sys_manager t1 JOIN t_sys_role t2 ON t2.id = t1.role_id WHERE account = #{account}")
    ManagerDto selectManagerByAccount(@Param("account") String account);

    /**
     * 根据账号查询用户信息
     *
     * @param account 账号
     * @return 角色信息
     */
    @Select("SELECT t1.* FROM t_sys_manager t1 WHERE account = #{account}")
    Manager findByAccount(@Param("account") String account);

    /**
     * 根据用户ID删除
     *
     * @param id 操作ID
     */
    @Update("update t_sys_manager set del_flag = '1' WHERE id = #{id}")
    int deleteById(String id);
}